﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using LinFu.Proxy.Interfaces;

namespace CoreEx.Database.Persistence
{
    public interface IChangeTracker
    {
        /// <summary>
        /// Starts tracking the <paramref name="target"/> instance.
        /// </summary>
        /// <remarks>
        /// The <paramref name="target"/> instance must implement <see cref="INotifyPropertyChanged"/> in order to be trackable.
        /// </remarks>
        /// <param name="target">The trackable target instance.</param>
        void Attach(object target);

        IProxyFactory ProxyFactory { get; }

        


    }
}
